package cn.blnp.net.flowable.task.service.server;

import lombok.extern.slf4j.Slf4j;
import org.flowable.common.engine.impl.interceptor.Command;
import org.flowable.common.engine.impl.interceptor.CommandConfig;
import org.flowable.common.engine.impl.interceptor.CommandExecutor;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

/**
 * <h3></h3>
 *
 * @author <a href="mailto:blnp.yibin@qq.com">lyb</a>
 * @version 1.0
 * @since 2025/5/13 13:54
 */
@Slf4j
@SpringBootTest
public class ServiceTaskServerTest {

    /**
     *  <h2>在JavaDelegate中使用Flowable服务</h2>
     *  <hr/>
     *  <p>
     *      在某些场景下，需要在服务任务中使用Flowable服务（如需要通过RuntimeService启动一个新的流程实例，而调用活动不满足需求），可以
     *  通过Context.getProcessEngineConfiguration()方法获取。示例代码如下：{@link FirstServerDelegate}
     *  </p>
     *  <p>
     *      需要注意的是，因为服务任务是在当前命令链中执行的，而对数据库的操作是在命令链执行完毕后的拦截器中集中提交的（参见
     *   {@link org.flowable.common.engine.impl.interceptor.CommandContextInterceptor#execute(CommandConfig, Command, CommandExecutor)} 的逻辑），
     *   所以执行服务任务之前当前命令链执行过程中产生或修改的数据尚未存入数据库，这些未提交的更改在服务任务中通过API调用不可见。
     *  </p>
     **/
    @Test
    public void test() {

    }
}
